package com.jxdinfo.hussar.example.common.schedulingtask.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 物料产品分类表
 * </p>
 *
 * @author 乔镔
 * @since 2024-04-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("md_item_type")
public class MdItemType implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 产品物料类型ID
     */
    @TableId(value = "item_type_id", type = IdType.ASSIGN_ID)
    private Long itemTypeId;

    /**
     * 产品物料类型编码
     */
    @TableField("item_type_code")
    private String itemTypeCode;

    /**
     * 产品物料类型名称
     */
    @TableField("item_type_name")
    private String itemTypeName;

    /**
     * 父类型ID
     */
    @TableField("parent_type_id")
    private Long parentTypeId;

    /**
     * 所有层级父节点
     */
    @TableField("ancestors")
    private String ancestors;

    /**
     * 产品物料标识
     */
    @TableField("item_or_product")
    private String itemOrProduct;

    /**
     * 排列顺序
     */
    @TableField("order_num")
    private Integer orderNum;

    /**
     * 是否启用
     */
    @TableField("enable_flag")
    private String enableFlag;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 删除标记
     */
    @TableField("deleted_flag")
    private String deletedFlag;

    /**
     * 预留字段1
     */
    @TableField("attr1")
    private String attr1;

    /**
     * 预留字段2
     */
    @TableField("attr2")
    private String attr2;

    /**
     * 预留字段3
     */
    @TableField("attr3")
    private Integer attr3;

    /**
     * 预留字段4
     */
    @TableField("attr4")
    private Integer attr4;

    /**
     * 创建者
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 同步时间
     */
    @TableField("schedule_time")
    private LocalDateTime scheduleTime;

    /**
     * erp分类表主键
     */
    @TableField("erp_sort_id")
    private Long erpSortId;

}
